package mysql

import (
	"e_mall_server/models"
)

/**
 * @Author: zhaobin
 * @Description TODO
 * @Date: 2022-04-27 0:35
 */

// GetRoleList 获取角色列表接口
func GetRoleList() ([]models.Role, error) {
	var roleList []models.Role
	if err := db.Find(&roleList).Error; err != nil {
		return nil, err
	}
	return roleList, nil
}

// AddRole 添加角色信息
func AddRole(role *models.Role) error {
	// 进行数据库添加操作
	return db.Create(role).Error
}

// UpdateRole 修改角色信息
func UpdateRole(role *models.Role) int64 {
	// 进行数据库修改操作
	return db.Model(&role).Updates(&role).RowsAffected
}

// DeleteRoleById 通过角色id删除角色数据
func DeleteRoleById(id int64) int64 {
	return db.Delete(&models.Role{Id: id}).RowsAffected
}

// GetRoleAccessListByRoleId 通过角色id获取所拥有的的权限
func GetRoleAccessListByRoleId(roleId int64) []models.RoleAccess {
	roleAccessList := []models.RoleAccess{}
	db.Where("role_id = ?", roleId).Find(&roleAccessList)
	return roleAccessList
}

// GetRoleDetailById 通过角色id获取角色详细信息
func GetRoleDetailById(id int64) (role models.Role, err error) {
	err = db.Where("id = ?", id).Find(&role).Error
	return
}
